Network operators use different computing devices in their networks, referred to as middleboxes, to provide various services related to data traffic and subscriber management. These services are called inline services. Examples of theses serviced include deep packet inspection (DPI), logging/metering/charging/advanced charging, firewall, intrusion detection and prevention (IDP), network address translation (NAT), and similar services to manage the data traffic from subscribers of the network operator. These services have high requirements on throughput and packet inspection capabilities. The services can be transparent or nontransparent to the end users. Inline services can be hosted in middleboxes in dedicated physical hardware, or in virtual machines.
Service chaining is a process of establishing a sequence of services to process a data flow. Service chaining is required if the data traffic needs to go through more than one inline service. Moreover, if more than one chain of services is possible, then the network operator needs to configure the networking infrastructure to direct the data traffic through the path of the right inline service chain. As used herein, data traffic steering refers to guiding the data traffic through the right inline service path.
There are several mechanisms that have been developed to manage how to steer data traffic to provide inline service chaining. These mechanisms are designed to explicitly insert the inline services on the path between end-points for a given data flow, or explicitly route traffic through different middleboxes according to the policies associated with that data flow. However, no matter what schemes are used to steer traffic in the network, there exists a problem of how to test the performance of any given service path. For example, it is desirable to understand the delay and loss rate of a data flow that traverses a set of services A, B, and C. This is called performance measurement for inline service chaining.
Although there are many operations administration and management (OAM) tools to measure reachability in general settings, the inline services chaining imposes new challenges. The key challenge is that these OAM methods actively inject packets to the network to test the wellness of a network path. If packets are injected actively to the service path, the packets will be forwarded to the middleboxes. The middleboxes may not know how to handle these injected packets, and thus, the middleboxes may drop the unknown packets. Or the probing packets may confuse the internal states of the middleboxes.